﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BUS;

namespace TiDiSun
{
    public partial class frmLoaiPin : Form
    {
        public frmLoaiPin()
        {
            InitializeComponent();
        }

        #region "Thuộc tính"

        public static DataTable _dt; //Biến này lưu thông tin các acquy được dùng

        //Biến này lưu giá acquy phải trả
        public static int _tong_tien_mach_sac;


        #endregion 



        //Phương thức này khởi tạo các giá trị ban đầu.
        private void khoi_tao()
        {
            string[] arrTemp = (string[])this.Tag;
            txtTongCS.Text = arrTemp[0].ToString() + " W";
            dtgvDanhSachPin.DataSource = PinBUS.lay_danh_sach_pin(arrTemp[1]);
            txtSoLuong.Enabled = false;
            btnThem.Enabled = false;
            btnXoa.Enabled = false;
            khoi_tao_cot();
        }

        //Phương thức khởi tạo cột của datagridview
        private void khoi_tao_cot()
        {
            _dt = new DataTable();
            _dt.Columns.Add("Mã pin", typeof(string));
            _dt.Columns.Add("Vmin", typeof(int));
            _dt.Columns.Add("Vmax", typeof(int));
            _dt.Columns.Add("Amin", typeof(int));
            _dt.Columns.Add("Amax", typeof(int));
            _dt.Columns.Add("KichThuoc", typeof(string));
            _dt.Columns.Add("SoLuong", typeof(int));

            dtgvDanhSachPinDaChon.AllowUserToAddRows = false;
            dtgvDanhSachPinDaChon.DataSource = _dt;

        }

        private void frmLoaiPin_Load(object sender, EventArgs e)
        {
            khoi_tao();
        }

        private void dtgvDanhSachPin_Click(object sender, EventArgs e)
        {
            txtSoLuong.Enabled = true;
            btnThem.Enabled = true;
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            try
            {

                int SoLuongAcQuyDuocChon = int.Parse(txtSoLuong.Text);

                if (SoLuongAcQuyDuocChon > 0)
                {
                    DataGridViewRow row = dtgvDanhSachPin.SelectedRows[0];
                    dtgvDanhSachPin.AllowUserToAddRows = true;
                    _dt.Rows.Add(row.Cells[0].Value.ToString(), row.Cells[1].Value.ToString(), row.Cells[2].Value.ToString(), row.Cells[3].Value.ToString(), row.Cells[4].Value, row.Cells[5].Value, txtSoLuong.Text);
                    dtgvDanhSachPinDaChon.DataSource = _dt;

                }
                else
                {
                    MessageBox.Show("Số lượng phải lớn hơn 0");
                }
            }
            catch
            {
                MessageBox.Show("Hãy Chọn pin");
            }

        }

        private void dtgvDanhSachPinDaChon_Click(object sender, EventArgs e)
        {
            btnXoa.Enabled = true;
        }

        private void dtgvDanhSachPinDaChon_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                frmCapNhatSoLuongPin frm = new frmCapNhatSoLuongPin();
                int index = dtgvDanhSachPinDaChon.SelectedRows[0].Index;
                frm.Tag = _dt.Rows[index][6].ToString();
                frm.ShowDialog();

                if (frmCapNhatSoLuongPin._soLuong >= 1)
                {
                    _dt.Rows[index][6] = frmCapNhatSoLuongPin._soLuong.ToString();
                    dtgvDanhSachPinDaChon.DataSource = _dt;
                }
            }
            catch
            {
                MessageBox.Show("Dữ liệu trống");
            }
           
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            try
            {
                int index = dtgvDanhSachPinDaChon.SelectedRows[0].Index;
                _dt.Rows.RemoveAt(index);
                dtgvDanhSachPinDaChon.DataSource = _dt;
               
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void btnSAVE_Click(object sender, EventArgs e)
        {
            if (_dt.Rows.Count > 0)
            {
                HoaDonHelper.dt = _dt;
                
                this.Close();
            }
        }

        private void btnCANCEL_Click(object sender, EventArgs e)
        {
            this.Close();
        }

    }
}
